/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

import util.Dao;
import java.sql.SQLException;
import java.util.ArrayList;
import modelo.InstituicaoAcademica;
import modelo.InstituicaoCurso;
import util.Conexao;

/**
 *
 * @author bruno
 */
public class InstituicaoCursoDao extends Dao<InstituicaoCurso> {

    public InstituicaoCursoDao() {
        super(new Conexao("Aurea", "sa", "sa", Conexao.sqlServerDriver));
    }

    @Override
    protected InstituicaoCurso novoModelo() {
        return new InstituicaoCurso();
    }

    @Override
    public boolean gravar(InstituicaoCurso modelo) {
        return gravarModelo("INSERT INTO tbInstituicaoCurso (fkInstituicaoAcademica,fkCurso)"
                + "VALUES(?,?)", modelo);
    }

    @Override
    protected void definirParametrosGravar() throws SQLException {
        conexao.getStatement().setInt(1, modelo.getInstituicao().getId());
        conexao.getStatement().setInt(2, modelo.getCurso().getId());
    }

    @Override
    public InstituicaoCurso ler(int id) {
        return lerModelo("SELECT * FROM tbInstituicaoCurso where idInstituicaoCurso = ?", id);
    }

    @Override
    protected void definirParametrosLer() throws SQLException {
        modelo.setCurso(new CursoDao().ler(conexao.getResultSet().getInt("fkCurso")));
        modelo.setInstituicao(new InstituicaoAcademicaDao().ler(conexao.getResultSet().getInt("fkInstituicaoAcademica")));
    }

    @Override
    public ArrayList<InstituicaoCurso> lerTodos() {
        return lerTodos("SELECT * FROM tbInstituicaoCurso");
    }

    //metodo extra pra identificar o id
    public int getIdInstituicaoCurso(int curso, int instituicao) {
        for (InstituicaoCurso ic : lerTodos()) {
            if (curso == ic.getCurso().getId() && instituicao == ic.getInstituicao().getId()) {
                return ic.getId();
            }
        }
        return 0;
    }
}
